// src/stores/reportStore.js
import { defineStore } from 'pinia'

export const useReportStore = defineStore('report', {
  state: () => ({
    // 功能测试结果
    functionalData: [],

    // 压测结果
    benchmarkData: [],

    // 可扩展：历史记录
    history: [],
  }),

  getters: {
    // 是否有功能测试数据
    hasFunctional: (state) => !!state.functionalData,

    // 是否有压测数据
    hasBenchmark: (state) => !!state.benchmarkData,

    // 获取当前测试用例名（用于页面标题）
    currentCaseName: (state) => {
      return state.functionalData?.case_name || state.benchmarkData?.case_name || '未知用例'
    },
  },

  actions: {
    // 保存功能测试结果
    setFunctionalResult(data) {
      // this.functionalData.unshift({
      //   ...data,
      //   timestamp: new Date().toISOString(),
      // })
      // 可选：加入历史
      // this.addToHistory('functional', this.functionalData)
    },

    // 保存压测结果
    setBenchmarkResult(data) {
      this.benchmarkData = {
        ...data,
        case_name: data.case_name || '压测用例',
        timestamp: new Date().toISOString(),
      }
      this.addToHistory('benchmark', this.benchmarkData)
    },

    // 添加到历史记录
    addToHistory(type, data) {
      this.history.unshift({
        type,
        data,
        timestamp: new Date().toISOString(),
      })
      // 限制历史数量（例如最多保留 20 条）
      if (this.history.length > 20) {
        this.history.splice(20)
      }
    },

    // 清除数据
    clearFunctional() {
      this.functionalData = []
    },
    clearBenchmark() {
      this.benchmarkData = null
    },
    clearAll() {
      this.functionalData = null
      this.benchmarkData = null
      this.history = []
    },
  },

  // 持久化插件支持（可选）
  persist: true, // 使用 pinia-plugin-persistedstate
})
